const express = require('express')
const app = express()
app.listen(3000,()=>{
    console.log('服务已启动，端口号3000');
})
const frontRouter = require('./frontRouter')
const adminRouter = require('./adminRouter')
const bodyParser = require('body-parser')
const writeLog = require('./middleware/writeLog')
const writeError = require('./utils/writeError')
// 设置跨域
const cors = require('cors')
app.use(cors())

// 记录日志 - 全局中间件
app.use(writeLog)


// 静态资源托管
app.use('/error', express.static('commonTemplate'))

// 获取post数据的中间件
app.use(bodyParser.urlencoded({extended: false}))

// 前台请求
app.use('/front', frontRouter)



// 后台请求
app.use('/admin', adminRouter)

// 错误调试
// app.get('/d', (req, res) => {
//     throw new Error('自定义错误')
// })

// 404中间件和异常处理中间件
app.use((req, res, next) => {
    writeError('404')
    // res.send('404')
    res.redirect('/error/404.html')
})

app.use((err, req, res, next) => {
    // console.log(err);
    // 错误了就将日志中最后的那个ok改成404
    // let log = fs.readFileSync('./logs/ordermeal.log', 'utf-8')
    // log = log.replace(/ok$/, '"' + err + '"')
    // fs.writeFileSync('./logs/ordermeal.log', log)
    writeError('"' + err + '"')
    // res.send('报错了')
    res.redirect('/error/error.html')
})